using System;
using System.Collections.Generic;

namespace Com.ContentRendering.Api.RenderEngine
{
    /// <summary/>
    public interface InputNodeInterface
    {
        /// <summary/>
        bool IsContent();

        /// <summary/>
        bool IsOutputTag();

        /// <summary/>
        bool IsSubstitutionTag();

        /// <summary/>
        bool IsTransparentTag();

        /// <summary/>
        bool IsIfTag();

        /// <summary/>
        bool IsIfNotTag();

        /// <summary/>
        bool IsParentTag();

        /// <summary/>
        bool IsChildTag();

        /// <summary/>
        bool IsRootTag();

        /// <summary/>
        string Name { get; }

        /// <summary/>
        int ParentLevel { get; }

        /// <summary/>
        string Content { get; }

        /// <summary/>
        IEnumerator<InputNodeInterface> FetchChildNodes();
    }
}
